package web;

import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import entidades.Usuario;
import logica.LogicaUsuario;

@WebServlet("/Login")
public class Login extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public Login() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doGet ");
		HttpSession session = request.getSession();
		String modo 		= (String)request.getParameter("Modo");
		String mensaje		= "";
		if (modo!=null){
			switch (modo){
			case "Login":						    
			    session.setAttribute("usuariologin", null);
			    request.setAttribute("Modo", null);
				break;
		 	case "AUTENICA": //obtengo usuario y password, para hacer el eventual forward
				String password 		= (String)request.getParameter("Password");
				String login 			= (String)request.getParameter("Login");
				System.out.println("doGet es llamado Login AUTENTICA Password"+password+"Login"+login);
				if(password==null || login==null){
					mensaje		= "Usuario incorrecto";				
				}else{
					Usuario username 	= LogicaUsuario.getInstance().Login(login, password);
					if (username==null){
						mensaje			= "Usuario incorrecto.";
					}else{	
						if(username.getAcceso().equals("terminal")){
							mensaje			= "Este usuario tiene permiso para acceder solamente a las terminales";
						}else{
						    session.setAttribute("usuariologin", username);				    
							RequestDispatcher rd 	= request.getRequestDispatcher("Principal.jsp");
							rd.forward(request, response);
						}
					}			
				}
				break;
			}
		}
	LoginForm(response,mensaje);
	}
	
	private void LoginForm(HttpServletResponse response,String mensaje) throws IOException{
		response.getWriter().println(" <html>");
		response.getWriter().println(" <h2> Servidor Agencia </h2><br>");
		response.getWriter().println(" <h5>"+mensaje+"</h5>");
		response.getWriter().println("<form name='Ingresar' action='Login' method='get'>");
		response.getWriter().println("<TABLE border=2 bgcolor=888888>");
		response.getWriter().println("<TR> <TD>Nombre de Usuario</TD>");
		response.getWriter().println("<TD> <input type='text' id='Login' name='Login'/></TD></TR>");
		response.getWriter().println("<TR> <TD>Password</TD>");
		response.getWriter().println("<TD> <input type='password' id='Password' name='Password'/></TD></TR>");
		response.getWriter().println("</table>");
		response.getWriter().println("<input type='submit' value='Ingresar'> <input type='hidden' name='Modo' value='AUTENICA'> </form>");		
		response.getWriter().println(" </html>");
		response.getWriter().close();
	}
}
